/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package edu.upc.fulbitofacil;

import edu.upc.fulbitofacil.dao.*;
import edu.upc.fulbitofacil.entity.*;

import edu.upc.fulbitofacil.dao.FulbitoFacilException;
import java.sql.SQLException;
import java.util.Calendar;
import org.junit.*;

/**
 *
 * @author Omar
 */
public class AlquilerCanchaDAOTEST {

    AlquilerCanchaDAO alquilercanchaDAO;
    ServicioAdicionalDAO servicioAdicionalDAO;
    ComentarDAO comentarDAO;

    @Test
    public void testInsertaralquilercancha() throws FulbitoFacilException, SQLException {
        alquilercanchaDAO = new AlquilerCanchaDAO();

        Alquiler alquiler = new Alquiler();

        alquiler.setIDLOCAL("01");
        alquiler.setIDCAN("01");
        alquiler.setNROITEM("2012002");
        //Calendar fecreserva = Calendar.getInstance();
        alquiler.setFECRESER("26/03/2012");
        alquiler.setHHINI("16:00");
        alquiler.setHHFIN("18:00");
        //alquiler.setTOTALQU(55.5);

        alquilercanchaDAO.insertar(alquiler);

        Alquiler alquilerRetorno = new Alquiler();

        alquilerRetorno = alquilercanchaDAO.Buscar(alquiler);

        Assert.assertEquals(alquiler.getNROITEM(), alquilerRetorno.getNROITEM());
    }

    @Test
    public void testInsertaralquilercanchaservicioadicional() throws FulbitoFacilException, SQLException {
        alquilercanchaDAO = new AlquilerCanchaDAO();

        Alquiler alquiler = new Alquiler();

        alquiler.setIDLOCAL("01");
        alquiler.setIDCAN("01");
        alquiler.setNROITEM("2012003");
        //Calendar fecreserva = Calendar.getInstance();
        alquiler.setFECRESER("26/03/2012");
        alquiler.setHHINI("16:00");
        alquiler.setHHFIN("18:00");
        //alquiler.setTOTALQU(55.5);

        alquilercanchaDAO.insertar(alquiler);
        Alquiler alquilerRetorno = new Alquiler();
        alquilerRetorno = alquilercanchaDAO.Buscar(alquiler);

        Assert.assertNotNull(alquilerRetorno.getNROITEM());

        ServicioAdicional servicioAdicional = new ServicioAdicional();
        servicioAdicional.setIDLOCAL("01");
        servicioAdicional.setIDCAN("01");
        servicioAdicional.setNROITEM(alquilerRetorno.getNROITEM());
        servicioAdicional.setSERVTIP("01");
        servicioAdicional.setCantidad(10);
        //servicioAdicional.setTOTSERV(85.0);

        servicioAdicionalDAO = new ServicioAdicionalDAO();
        servicioAdicionalDAO.insertar(servicioAdicional);

        ServicioAdicional servicioAdicionalRetorno = new ServicioAdicional();

        servicioAdicionalRetorno = servicioAdicionalDAO.Buscar(servicioAdicional);
        Assert.assertEquals(servicioAdicional.getNROITEM(), servicioAdicionalRetorno.getNROITEM());
    }
    
    @Test
    public void testInsertaralquilercanchareservado() throws FulbitoFacilException, SQLException {
        alquilercanchaDAO = new AlquilerCanchaDAO();

        Alquiler alquiler = new Alquiler();

        alquiler.setIDLOCAL("01");
        alquiler.setIDCAN("01");
        alquiler.setNROITEM("2012002");
        //Calendar fecreserva = Calendar.getInstance();
        alquiler.setFECRESER("26/03/2012");
        alquiler.setHHINI("16:00");
        alquiler.setHHFIN("18:00");
        //alquiler.setTOTALQU(55.5);

        Alquiler alquilerRetorno = new Alquiler();

        alquilerRetorno = alquilercanchaDAO.Buscar(alquiler);

        if (alquilerRetorno != null)
        {
             Assert.assertEquals(alquilerRetorno.getNROITEM(), alquiler.getNROITEM());
        }
        else
        {
            alquilercanchaDAO.insertar(alquiler);
        }
    }

    /*@Test
    public void testComentarCancha() throws FulbitoFacilException {
        comentarDAO = new ComentarDAO();

        Comentar comentar = new Comentar();

        comentar.setNROITEM("2012002");
        comentar.setIDLOCAL("01");
        comentar.setIDCAN("01");
        comentar.setBOXTEX("Excelente atencion");
        comentar.setCALIF1("");
        comentar.setCALIF2("");
        comentar.setCALIF3("");
        comentar.setCALIF4("");
        comentar.setCALIF5("X");

        comentarDAO.insertar(comentar);
    }

    @Test
    public void testbuscaralquilercancha() throws FulbitoFacilException, SQLException {
        alquilercanchaDAO = new AlquilerCanchaDAO();
        Alquiler alquiler = new Alquiler();
        alquiler.setNROITEM("2012002");

        Alquiler alquilerRetorno = new Alquiler();
        alquilerRetorno = alquilercanchaDAO.Buscar(alquiler);

       //Assert.assertNotNull(alquilerRetorno.getNROITEM());
       Assert.assertEquals(alquiler.getNROITEM(), alquilerRetorno.getNROITEM());
    }*/
}
